with Ada.Text_Io; use Ada.Text_Io;
with Dictionnaires;
with Ada.Command_Line;

procedure Test_Dico_Hash_Biz is

   Taille: constant Positive := 5;

   function Hash_Biz(Mot: String) return Natural is
      S: Natural := 0;
   begin
      for I in Mot'Range loop
         S:=((13*S+Character'Pos(Mot(i))) mod Taille) +1;
      end loop;
      return S;
   end Hash_Biz;


   package Dico_Hash_Biz is new Dictionnaires(Taille, False, Hash_Biz);

   Fich: File_Type; -- fichier de test contenant un dictionnaire
   -- dictionnaire :
   Dhb: Dico_Hash_Biz.Dictionnaire := Dico_Hash_Biz.Cree_Dico;
begin

   declare -- un nouveau bloc
         S: String := "dico_gros.txt";
   begin
      Open(Fich, In_File, S);
   exception
      when Name_Error => Put_Line("fichier inexistant !"); return;
   end;

   -- remplissage du dictionnaire
   Dico_Hash_Biz.Remplit_Dico(Fich, Dhb);

   -- statistiques de dispersion sur ces dictionnaires
   Ada.Text_Io.New_Line;
   Dico_Hash_Biz.Dispersion(Dhb);


   -- fermeture du fichier test
   Close(Fich);

end Test_Dico_Hash_Biz;
